package com.jz.common.util;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created by Hasee on 2022-01-11.
 */
public class TimeUtil {
    /***
     *
     * @param startDateOne 第一个时间段的开始时间
     * @param endDateOne 第一个时间段的结束时间
     * @param startDateTwo 第二个时间段的开始时间
     * @param endDateTwo 第二个时间段的结束时间
     * @return
     */
    public static Boolean IsInterSection(Date startDateOne, Date endDateOne, Date startDateTwo, Date endDateTwo)
    {
        Date maxStartDate = startDateOne;
        if(maxStartDate.before(startDateTwo))
        {
            maxStartDate = startDateTwo;
        }

        Date minEndDate = endDateOne;
        if(endDateTwo.before(minEndDate))
        {
            minEndDate = endDateTwo;
        }
        if(maxStartDate.before(minEndDate) || (maxStartDate.getTime() == minEndDate.getTime()))
        {
            return true;
        }
        else {
            return  false;
        }
    }

    public static void main(String[] args) throws Exception{
//        @param startDateOne 第一个时间段的开始时间
//     * @param endDateOne 第一个时间段的结束时间
//     * @param startDateTwo 第二个时间段的开始时间
//     * @param endDateTwo 第二个时间段的结束时间

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");//注意月份是MM
        Date date = simpleDateFormat.parse("2022-1-10");
        Date date2 = simpleDateFormat.parse("2022-1-15");
        Date date3 = simpleDateFormat.parse("2022-1-15");
        Date date4 = simpleDateFormat.parse("2022-1-18");
//        System.out.println(date);   //Mon Sep 02 00:00:00 CST 2019
//        System.out.println(simpleDateFormat.format(date));  //2019-09-02
//        if (date.getTime()==date2.getTime()){
//            System.out.println("1111");
//        }else {
//            System.out.println("222");
//        }
//        Calendar calendar = Calendar.getInstance();
//        calendar.setTime(date);
//        calendar.add(Calendar.DATE, -1);

        Boolean aBoolean = TimeUtil.IsInterSection(date, date2, date3, date4);
        System.out.println(aBoolean);
    }
}
